#ifndef _UTILS_MD5_H_
#define _UTILS_MD5_H_
#ifdef __cplusplus
extern "C"
{
#endif
    typedef struct
    {
        unsigned char value[16];
    } utils_md5_t;

    /**
     * @brief data MD5
     *
     * @param data
     * @param length
     * @param md5
     * @return int
     */
    extern int utils_md5_sum(const char *data, int length, utils_md5_t *md5);

    /**
     * @brief file MD5
     *
     * @param file
     * @param md5
     * @return int
     */
    extern int utils_md5_file(const char *file, utils_md5_t *md5);

#ifdef __cplusplus
}
#endif
#endif //_UTILS_MD5_H_